/************************************************************************
 *
 * setjmp.h
 *
 * (c) Copyright 1996-2006 Analog Devices, Inc.  All rights reserved.
 * $Revision: 1.1.20.1 $
 ************************************************************************/

#ifndef __SETJMP_DEFINED
#define __SETJMP_DEFINED

#if defined(__cplusplus)
extern "C" {
#endif

#define _JMPBUF_SIZE 41

typedef struct {
  #pragma align 4
  int data[_JMPBUF_SIZE];
} jmp_buf[1];



/*
 * NOTE: Both routines longjmp and setjmp have been implemented assuming
 * that the jmp_buf parameter has been quad word aligned. It is therefore
 * vital to ensure that jmp_buf is quad aligned. 
 */

void longjmp(jmp_buf, int);
int setjmp(jmp_buf);
   
#if defined(__cplusplus)
}
#endif


#endif /* __SETJMP_DEFINED */
